jquery教程

推荐列表 站点导航

当前位置:首页 > jquery > jquery教程 >

php提示Notice:unserialize()[function.unserialize]:Error错误解决办法

来源:网络整理  作者:  发布时间:2020-12-21 21:25
jquery中文网为您提供php提示Notice:unserialize()[function.unserialize]:Error错误解决办法等资源,欢迎您收藏本站,我们将为您...

出现这个错误,可能会有几种原因,网上搜索的答案基本也是比较有针对性的一方面,关键在如何去寻找原因,并解决它。

在使用php中serialize函数时会出现示Notice:unserialize()[function.unserialize]:Error错误了,下面我们来看问题解决办法。

解决方法一:将UTF-8编码的数据转换成GBK,PHP语言可以用iconv()函数;

    $out = preg_replace('!s:(\d ):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );
    return unserialize($out);
}

这个原因是很常见的,比方,原本是以GBK编码进行存储,然后是UTF-8编码的,那么在进行unserialize()就会有问题;

解决方法三:对字符数据进行base64_encode,然后serialize序列化,还原提取时,unserialize()再base64_decode

一些情况可以把底层的函数重写,将gb2312转换成utf-8格式之后,每个中文的字节数从2个增加到3个之后导致了反序列化的时候判断字符长度出现了问题,所以需要使用正则表达式将序列化的数组中的表示字符长度的值重新计算一遍,代码如下:

function mb_unserialize($serial_str) {

分析二:重写反序列函数

分析一:在数据进行存储并反序列化时编码问题出错

相关热词: 解决

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jq/jc/6794.shtml

相关文章
最新文章
PHP识别相片是否是颠倒的 PHP识别相片是否是颠倒的

时间:2020-12-28

python编程有哪些ide python编程有哪些ide

时间:2020-12-28

python开发工程师是做什么 python开发工程师是做什么

时间:2020-12-28

php构造函数的作用 php构造函数的作用

时间:2020-12-28

php怎么跟数据库连接 php怎么跟数据库连接

时间:2020-12-28

php实现顺序线性表 php实现顺序线性表

时间:2020-12-28

Python多重继承中的菱形继 Python多重继承中的菱形继

时间:2020-12-28

php中break的作用 php中break的作用

时间:2020-12-28

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

php提示Notice:unserialize()[function.unserialize]:Error错误解决办法

2020-12-21 编辑:

出现这个错误,可能会有几种原因,网上搜索的答案基本也是比较有针对性的一方面,关键在如何去寻找原因,并解决它。

在使用php中serialize函数时会出现示Notice:unserialize()[function.unserialize]:Error错误了,下面我们来看问题解决办法。

解决方法一:将UTF-8编码的数据转换成GBK,PHP语言可以用iconv()函数;

    $out = preg_replace('!s:(\d ):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str );
    return unserialize($out);
}

这个原因是很常见的,比方,原本是以GBK编码进行存储,然后是UTF-8编码的,那么在进行unserialize()就会有问题;

解决方法三:对字符数据进行base64_encode,然后serialize序列化,还原提取时,unserialize()再base64_decode

一些情况可以把底层的函数重写,将gb2312转换成utf-8格式之后,每个中文的字节数从2个增加到3个之后导致了反序列化的时候判断字符长度出现了问题,所以需要使用正则表达式将序列化的数组中的表示字符长度的值重新计算一遍,代码如下:

function mb_unserialize($serial_str) {

分析二:重写反序列函数

分析一:在数据进行存储并反序列化时编码问题出错

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jq/jc/6794.shtml

相关文章

风云图片

推荐阅读

返回jquery教程频道首页